Sun MicrosystemsTitle

Home Catalog Software Development Tools ORBs & Middleware


Enterprise Processing & Dispatching System

Dispatch 2.0 is an Enterprise Internet Portal (or a set of middleware technologies) providing flexible and sophisticated infrastructure for E-Business / E-Commerce process-focus and business-centric applications: Form Processing, Web Applications, Distributed XML, and Distributed Events. Dispatch provides solutions for following IT issues:

  1. Scalable Web Site, hosting Services 24x7: Services are applications (such as Catalogs or documents, each contains 1000''s of pages dynamically loaded and distributed) and system programs (such as Java Servlets) as defined in Java 2 Enterprise Edition (J2EE). This business process demands 4 separate solutions:
    • Dynamic loading and cleaning services at both the source and distributed sites. Dispatch provides general Cache Container for any service that has a pattern. For example, Catalog service has a pattern to load a set of requested pages required for business and presentation logic. Servlet has a pattern as a requested handler by browser clients.
    • Flexible means to load services from sources such as database, file, XML, central web site. The dynamic loading allows separation of business and presentation logic. Dispatch offers solutions via cache-loaders; each is designed for 1 data source and its application logic. It has CacheLoadable interface with implementations such as CacheDBLoader, CacheFileLoader, CacheXMLLoader, CacheServletLoader, CacheDispatchEventLoader, CacheRemoteEventLoader,etc,.
    • Globally consistent service-version, while all sites are serving 24x7. Dispatch Cache Container has expired time of individual objects, regular self-cleaning to remove unrequested objects after certain time, and immediate PUSH with global events such as event://com.dbgroups.catalogUpdate to globally replace all cache objects with newly updated ones.
    • Standard transport mechanisms from data sources to the server. Dispatch is scalable from 1 Virtual Machine (VM), to multiple VMs such as amongst servers in a server farm, and throughout the Internet, using standard protocols such as RMI over IIOP, Enterprise JavaBeans.

  2. Flexible Event Registration and Notification: as a mean for co-operation and communication amongst services. The same content is preprocessed by business rules and procedures according to requirements of its registered clients before delivering the service. Therefore, the delivered content may be completely different to different registrants. Furthermore, registered clients do not need to be on-line 24x7 to receive the contents. An Agent such as Notification Filter, Queue, Store-and-Forward, etc, can be employed. Dispatch models distributed events according to SUN''s Jini specifications of "Core Distributed Event and Notification" without using "Jini proprietary Look-up Services". Dispatch technology is flexible that Jini can be a service in its ServiceCacheHandler, and can leverage other standard protocols such as RMI over IIOP, Enterprise JavaBeans, and XML.

  3. Centralized Service Handler to Coordinate Server-Side Activities: Dispatch provides ServiceCacheHandler that is flexible to accommodate most centralized application services and processing, and serves as a channel to expand services from its native protocol to other protocols. For example, Dispatch allows servlets to fully participate in event registration and notification. The reverse is also applicable. Each server-side service e.g. servlet that provides user registration can serve not only web clients, but also as a requested-event service. The unique user object associated with each user session broascasts its creation to listeners. The listeners process the user object and return to the original user session with custom attributes for intelligent data collection and information PUSH. Similarly, a request submitted either via the web or event can be processed simultaneously by different services e.g. an order entry can simultaneously update client''s accounting system, dispatch to Vendor''s and Supplier''s business processes such as accounting, inventory, warehousing. Dispatch not only passes data to different servlets, but also acts as a central coordinator for both service registrations and notifications. Dispatch currently has servletServices, dispatchEventServices, and remoteEventServices. Application services (such as catalogServices, auctionServices, etc,) can be added to this Centralized Service Handler by extending ServiceCacheHandler. Therefore, all server-side services are co-operatively working together and fully using other services.

  4. Distributed XML and Processing Tools: Dispatch has re-useable common XML and processing components such as DOMUtil, DTable, JdbcDTable, TableMap, TableSorter, etc,. DTable is a generalization of Hashtable, used as a table database for in-memory operation and/or distributed persistence with features such as:
    • Unique key in the key column, having ascending order
    • Class enforcement in column data, with permissible null value to mimic a table database
    • RowId object in each row to specify requested command and/or service to process the row data.

    JdbcDTable is an adapter transforming Jdbc interface to TableModel interface by extending DTable. TableMap and TableSorter allow filtering of DTable for table-presentations.

Dispatch technology blends Java server-side services (Servlets, ServerPages, Beans, Ejbs) with Jini pattern design of distributed events and notifications, and cache containers. Instead of building from the scratch, you extend Dispatch technology with your Enterprise Internet Portals such as InventoryServices, WarehouseServices, etc,. Dispatch makes these services co-operatively working together. Dispatch technology and its extension into application services require Web Server supporting J2EE. For real life demonstration, please visit http://emall.dbgroups.com and contact ebusiness@dbgroups.com.